package com.example.usercenter.service;

import com.example.usercenter.model.domain.Tag;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.usercenter.model.domain.User;
import com.example.usercenter.model.request.TagCreateRequest;
import com.example.usercenter.model.vo.RootTagVO;
import com.example.usercenter.model.vo.TagVO;
import jakarta.servlet.http.HttpSession;
import jakarta.websocket.Session;

import java.util.List;

/**
* @author 57017
* @description 针对表【t_tag(标签表)】的数据库操作Service
* @createDate 2024-05-05 14:38:05
*/
public interface TagService extends IService<Tag> {

    /**
     * 新增标签
     * @param tagCreateRequest 新增标签请求
     * @param session session会话
     * @return 新增标签id
     */
    Long createTag(TagCreateRequest tagCreateRequest, HttpSession session);

    /**
     * 获取全部标签
     * @param session session会话
     * @return 标签列表
     */
    List<TagVO> getAllTags(HttpSession session);

    /**
     * 获取分好组的标签列表
     * @param session session会话
     * @return 分组标签
     */
    List<RootTagVO> getAllTagsByGroup(HttpSession session);

    /**
     * 获取全部子级别标签
     * @param session session会话
     * @return 子级别标签列表
     */
    List<TagVO> getChildrenTags(HttpSession session);
}
